草庐IT

php - 构建 TreeView

全部标签

c# - TreeView、HierarchicalDataTemplate 和递归数据

对于我的TreeView,我有两个提供ItemsSource的不同类。publicclassTreeViewModel:ViewModelBase{publicObservableCollectionItems{get;set;}}publicclassNodeViewModel:ViewModelBase{publicstringId{get;set;}publicstringName{get;set;}publicObservableCollectionChildren{get;set;}}现在我希望我的TreeView显示TreeViewModel中的项目并显示NodeViewM

c# - 每次运行时 Visual Studio 都会构建项目

我在VisualStudio2010中有一个包含大量项目的.NET解决方案。直到最近,当我从IDE中运行启动项目时,只有在启动项目或依赖项目之一中的代码发生更改时,项目才会构建。大约两周前,我注意到每次运行启动项目时,VisualStudio都会构建所有项目,这大约需要七分钟。毋庸置疑,这占用了我一天的大量时间,我已尽力在网上寻找解决方案,但尚未找到解决我的特定问题的任何解决方案。一些额外的信息-在我开始遇到这个问题的同时,同样的问题也开始发生在我团队中的其他人身上。我们还使用源代码存储库。由于我们没有更改VisualStudio中的任何设置,我怀疑有人无意中更改了某些项目的源代码中的

c# - TreeView 中任何项目的 OnExpanded 事件

我想为我的TreeView中的TreeView项的任何扩展获取一个事件。这样做的原因,与原始问题有点无关:我正在创建一个与xml文件树密切相关的树,但我允许在xml中包含一个元素,以便该树可以跨越多个文件。我想在扩展时在我的TreeView中设置treeviewitems的itemssource属性。 最佳答案 您可以将TreeViewItem.Expanded事件用作附加事件:...在代码隐藏中,您可以使用OriginalSource属性识别启动事件的TreeViewItem:privatevoidTreeViewItem_Exp

c# - 以编程方式构建项目

我需要以编程方式为动态创建的.csproj构建项目。在谷歌搜索时,我发现了MS为MSBuild引擎提供的类和API。有了这些信息,我创建了一个执行msbuild.exe然后读取输出的进程,但现在我想使用命名空间Microsoft.Build.Execution来构建项目。这是我的程序:publicclassCompiler{privatestaticstringlocationOfMSBuilldEXE="";publicstaticvoidBuild(stringmsbuildFileName){BuildManagermanager=BuildManager.DefaultBuil

c# - 如何使用 foreach 和 LINQ 构建 XDocument?

我可以使用XDocument构建以下工作正常的文件:XDocumentxdoc=newXDocument(newXDeclaration("1.0","utf-8",null),newXElement(_pluralCamelNotation,newXElement(_singularCamelNotation,newXElement("id","1"),newXElement("whenCreated","2008-12-31")),newXElement(_singularCamelNotation,newXElement("id","2"),newXElement("whenCr

c# - 在运行时构建 c# 泛型类型定义

目前我不得不做这样的事情来在运行时构建类型定义以传递给我的IOC来解析。简化:Typet=Type.GetType("System.Collections.Generic.List`1[[ConsoleApplication2.Program+Person");我只知道运行时的泛型类型参数。有什么东西可以让我做这样的事情(假代码):Typet=Type.GetTypeWithGenericTypeArguments(typeof(List),passInType.GetType());或者我应该坚持我的hack,passInType.GetType()转换为字符串,构建通用类型字符串.

c# - 从数据库填充 TreeView

我有一个数据库表(名为主题),其中包括以下字段:主题编号姓名父级通过使用它们,我想在C#中填充一个TreeView。我该怎么做?提前致谢... 最佳答案 大概是这样的吧。如果您需要更多信息,请详细说明您到底想做什么。//InPageloadforeach(DataRowrowintopics.Rows){TreeNodenode=newTreeNode(dr["name"],dr["topicId"])node.PopulateOnDemand=true;TreeView1.Nodes.Add(node);}///protected

c# - 如何从 DataGridView 构建 DataTable?

我可能正在倒着看这个问题,但我还是很好奇。有没有办法根据DataGridView中当前显示的内容构建DataTable?需要说明的是,我知道您可以执行此操作DataTabledata=(DataTable)(dgvMyMembers.DataSource);但是这包括隐藏的列。我只想从显示的列构建它。希望这是有道理的。所以我最终尝试了几个答案的组合,因为这似乎是最好的。以下是我正在尝试的。基本上我是从数据源创建数据表,然后根据列是否可见向后工作。但是,在它删除一列后,我得到一个Collectionwasmodified;枚举操作可能不会在foreach的下一次迭代中执行。我很困惑,因为

c# - 从批处理文件构建 .net 解决方案

我有一个包含15个项目的解决方案文件,其中使用了一些第三方dll引用。我希望能够从批处理文件构建解决方案。执行此操作的最佳方法是什么?谢谢 最佳答案 运行msbuild-例如:msbuildMySolution.sln/p:Configuration=Release/p:Platform="AnyCPU" 关于c#-从批处理文件构建.net解决方案,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/qu

c# - 使用代码契约构建?

我有以下方法:privatevoidDoSomething(CoolClasscoolClass){if(coolClass==null){thrownewArgumentNullException("coolClass");}coolClass.Name="Pepe";}有了代码契约,我们可以这样写:privatevoidDoSomething(CoolClasscoolClass){Contract.Requires(coolClass!=null,"ISNULLL!");coolClass.Name="Pepe";}第二种方法更短更简单。我遇到的问题是,当您构建它时,在运行时它不